package xyz.xtt.pay.entity;

import java.io.Serializable;
import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 支付订单主表
 * </p>
 *
 * @author author
 * @since 2025-02-10
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("tbl_pay_order")
public class PayOrder implements Serializable {

	private static final long serialVersionUID = 1L;

	/**
	 * 主键
	 */
	@TableId(value = "pay_order_id", type = IdType.AUTO)
	private Long payOrderId;

	/**
	 * 订单业务类型： 1 -> nft资产交易 2 -> 个人铸造上链
	 */
	private Integer businessType;

	/**
	 * 关联业务id
	 */
	private String businessRefId;

	/**
	 * 通通app用户id
	 */
	private Long appUserId;

	/**
	 * 支付状态： 0 -> 未支付 1 -> 已支付 2 -> 支付失败 3 -> 支付取消 4 -> 已退款 5 -> 支付中
	 */
	private Integer payStatus;

	/**
	 * 订单金额
	 */
	private BigDecimal orderMoney;

	/**
	 * 实际支付金额
	 */
	private BigDecimal payMoney;

	/**
	 * 创建时间
	 */
	private Long createTime;

	/**
	 * 支付成功时间
	 */
	private Long paySuccessTime;

	/**
	 * 最后一次更新时间
	 */
	private Long updateTime;

	/**
	 * 业务附加参数
	 */
	private String businessAttach;

	/**
	 * 支付渠道订单号
	 */
	private String payTradeNo;

	/**
	 * 支付渠道
	 */
	private Integer payMode;

	/**
	 * 支付渠道-子渠道
	 */
	private Integer payModeSub;

}
